/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controladores;

import daos.UsuarioJpaController;
import daos.exceptions.IllegalOrphanException;
import daos.exceptions.NonexistentEntityException;
import daos.exceptions.PreexistingEntityException;
import daos.exceptions.RollbackFailureException;
import entidades.Usuario;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

/**
 *
 * @author usuario
 */
@ManagedBean
@SessionScoped
public class Controlador {

    /**
     * Creates a new instance of Controlador
     */
    @EJB
    UsuarioJpaController usuarioDao;
    int idBusqueda;
    List<Usuario> listaUsuarios;
    Usuario usuarioActual;
    int cedula;
    String nombre;
    String apaellido;
    String rol;
    String contrasena;
    ConnectionFactory conection;
    
    public int getCedula() {
        return cedula;
    }

    public void setCedula(int cedula) {
        this.cedula = cedula;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApaellido() {
        return apaellido;
    }

    public void setApaellido(String apaellido) {
        this.apaellido = apaellido;
    }

    public String getRol() {
        return rol;
    }

    public void setRol(String rol) {
        this.rol = rol;
    }

    public String getContrasena() {
        return contrasena;
    }

    public void setContrasena(String contrasena) {
        this.contrasena = contrasena;
    }
    
    public void setUsuarioDao(UsuarioJpaController usuarioDao) {
        this.usuarioDao = usuarioDao;
    }

    public void setIdBusqueda(int idBusqueda) {
        this.idBusqueda = idBusqueda;
    }

    public void setListaUsuarios(List<Usuario> listaUsuarios) {
        this.listaUsuarios = listaUsuarios;
    }

    public void setUsuarioActual(Usuario usuarioActual) {
        this.usuarioActual = usuarioActual;
    }

    public UsuarioJpaController getUsuarioDao() {
        return usuarioDao;
    }

    public int getIdBusqueda() {
        return idBusqueda;
    }


    public List<Usuario> getListaUsuarios() {
        return listaUsuarios;
    }

    public Usuario getUsuarioActual() {
        return usuarioActual;
    }

    @PostConstruct
    public void inicializar() {
        listaUsuarios = usuarioDao.findUsuarioEntities();
        usuarioActual = listaUsuarios.get(0);
        nombre = usuarioActual.getNombre();
        apaellido = usuarioActual.getApellidos();
        rol = usuarioActual.getRol();
        idBusqueda = 0;
    }

    // Metodos de accion

    public String doUsuarios(){
        return "Usuarios";
    }
    
    public String doDeportistas(){
        return "Deportistas";
    }
    
    public String doDisciplinas(){
        return "Disciplinas";
    }
    
    public String doEspacios(){
        return "Espacios";
    }
    
    public String doHoteleria(){
        return "Hoteleria";
    }
    
    public String doEventos(){
        return "Eventos";
    }
    
    public String doCompetencias(){
        return "Competencias";
    }
    
    public String doBoleteria(){
        return "Boleteria";
    }
    
    
    public String doNuevoUsuario() {
        usuarioActual = new Usuario();
        return "nuevoUsuario";
    }

    public String doGuardarUsuario() throws PreexistingEntityException, RollbackFailureException, Exception {
        usuarioActual.setCedula(cedula);
        usuarioActual.setNombre(nombre);
        usuarioActual.setApellidos(apaellido);
        usuarioActual.setContrasena(contrasena);
        usuarioDao.create(usuarioActual);
        return "index";
    }
    
    public String doActualizarUsuario() throws IllegalOrphanException, NonexistentEntityException, RollbackFailureException, Exception{
        usuarioActual.setNombre(nombre);
        usuarioActual.setApellidos(apaellido);
        usuarioActual.setRol(rol);
        usuarioDao.edit(usuarioActual);
        return "Usuarios";
    }

    public Controlador() {
    }
}
